package com.lion.ball.app.models.uaa;

import java.io.Serializable;

/**
 * @author Chris Chan
 * Create On 2025/7/28 下午10:40
 * Use for:
 * Explain:
 */
public class LoginResult implements Serializable {
    private static final long serialVersionUID = 1L;
    private String accessToken;
    private long accessTokenExpires;
    private String refreshToken;
    private long refreshTokenExpires;

    public LoginResult() {
    }

    public LoginResult(String accessToken, long accessTokenExpires, String refreshToken, long refreshTokenExpires) {
        this.accessToken = accessToken;
        this.accessTokenExpires = accessTokenExpires;
        this.refreshToken = refreshToken;
        this.refreshTokenExpires = refreshTokenExpires;
    }

    public static LoginResult create(String accessToken, long accessTokenExpires, String refreshToken, long refreshTokenExpires) {
        return new LoginResult(accessToken, accessTokenExpires, refreshToken, refreshTokenExpires);
    }

    public static LoginResult build(String accessToken, long accessTokenExpires, String refreshToken, long refreshTokenExpires) {
        return new LoginResult(accessToken, accessTokenExpires, refreshToken, refreshTokenExpires);
    }

    public static LoginResult of(String accessToken, long accessTokenExpires, String refreshToken, long refreshTokenExpires) {
        return new LoginResult(accessToken, accessTokenExpires, refreshToken, refreshTokenExpires);
    }

    public String getAccessToken() {
        return accessToken;
    }

    public void setAccessToken(String accessToken) {
        this.accessToken = accessToken;
    }

    public long getAccessTokenExpires() {
        return accessTokenExpires;
    }

    public void setAccessTokenExpires(long accessTokenExpires) {
        this.accessTokenExpires = accessTokenExpires;
    }

    public String getRefreshToken() {
        return refreshToken;
    }

    public void setRefreshToken(String refreshToken) {
        this.refreshToken = refreshToken;
    }

    public long getRefreshTokenExpires() {
        return refreshTokenExpires;
    }

    public void setRefreshTokenExpires(long refreshTokenExpires) {
        this.refreshTokenExpires = refreshTokenExpires;
    }
}
